package com.qf.map;

import java.util.HashMap;
import java.util.concurrent.atomic.AtomicReference;

/**
 * 1. 利用 Map，完成下面的功能：
 * ● 从命令行读入一个字符串，表示一个年份，输出该年的世界杯冠军是哪支球队。如果该年没有举办世界杯，则输出：没有举办世界杯。
 * ● 读入一支球队的名字，输出该球队夺冠的年份列表。例如，读入“巴西”，应当输出 1958、1962、1970、1994、2002；
 * 读入“荷兰”，应当输出”没有获得过世界杯”。
 */
public class Demo04 {
    public static void main(String[] args) {
        HashMap<Integer, String> winTeam = new HashMap<>();
        setHasMap(winTeam);
        // 从命令行读入一个字符串，表示一个年份，输出该年的世界杯冠军是哪支球队。如果该年没有举办世界杯，则输出：没有举办世界杯
        index(winTeam, 2002);
        // 读入一支球队的名字，输出该球队夺冠的年份列表。例如，读入“巴西”，应当输出 1958、1962、1970、1994、2002；读入“荷兰”，应当输出”没有获得过世界杯”
        index(winTeam, "荷兰");
    }

    public static void index(HashMap<Integer, String> winTeam, Integer year) {
        if (winTeam.get(year) == null){
            System.out.println("没有举办世界杯");
            return;
        }
        System.out.println(winTeam.get(year));
    }

    public static void index(HashMap<Integer, String> winTeam, String team) {

        AtomicReference<String> years = new AtomicReference<>("");
        winTeam.forEach((integer, s) -> {
            if (s.equals(team)) {
                years.set(years.get() + integer + " ");
            }
        });

        if (years.get().equals("")) {
            System.out.println("没有获得过世界杯");
            return;
        }
        System.out.println(years);
    }

    private static void setHasMap(HashMap<Integer, String> winTeam) {
        winTeam.put(2006, "意大利");
        winTeam.put(2002, "巴西");
        winTeam.put(1998, "法国");
        winTeam.put(1994, "巴西");
        winTeam.put(1990, "德国");
        winTeam.put(1986, "阿根廷");
        winTeam.put(1982, "意大利");
        winTeam.put(1978, "阿根廷");
        winTeam.put(1974, "德国");
        winTeam.put(1970, "巴西");
        winTeam.put(1966, "英格兰");
        winTeam.put(1962, "巴西");
        winTeam.put(1958, "巴西");
        winTeam.put(1954, "德国");
        winTeam.put(1950, "乌拉圭");
        winTeam.put(1938, "意大利");
        winTeam.put(1934, "意大利");
        winTeam.put(1930, "乌拉圭");
    }
}
